/**
 * 用户管理
 * 
 * @author YANGSHT
 */
// 创建目录管理模块
var publicLoginApp = angular.module("publicLoginApp", [ "publicServiceApp" ]);
// 创建目录管理控制器
publicLoginApp.controller("publicLoginCtrl", [
		"$scope",
		"publicService",
		function($scope, publicService) {

			// 按钮操作控制
			$scope.loginParams = {
				userCode : "",
				password : "",
			};
			
			$scope.isRemember = false;
			$scope.error = "";

			/**
			 * 
			 * 功能说明:登录检查
			 * 
			 * @author ZHONGFUHUA
			 * 
			 * @Date 2016年10月20日
			 * 
			 */
			$scope.login = function() {
				if ($scope.loginParams.userCode == "") {
					new MessageDialog().warning("请输入用户名");
				} else if ($scope.loginParams.password == "") {
					new MessageDialog().warning("请输入密码");
				} else {
					publicService.doLogin($scope.loginParams, function(data) {
						if (data.result) {
							if ($scope.isRemember) {
								$scope.setCookie("userCode", $scope.loginParams.userCode);
							}else{
								$scope.delCookie("userCode");
							}
							window.location.href = "../main/main.jsp";
						} else {
							$scope.error = "用户名或密码错误！！";
							$scope.isSuccess = false;
						}
					}, function(error) {
						$scope.error = error;
						$scope.isSuccess = false;
					});
				}
			};

			/**
			 * 
			 * 功能说明:页面菜单初始化
			 * 
			 * @author ZHONGFUHUA
			 * 
			 * @Date 2016年10月20日
			 * 
			 */
			window.onload = function() {
				if ($scope.getCookie("userCode") != null) {
					$scope.loginParams.userCode = $scope.getCookie("userCode");
					$scope.angularApply();
				}
			}

			/**
			 * 
			 * 功能说明:设置cookie
			 * 
			 * @author ZHONGFUHUA
			 * 
			 * @Date 2016年10月20日
			 * 
			 */
			$scope.setCookie = function(name, value) {
				var Days = 30;
				var exp = new Date();
				exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
				document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
			}
			
			/**
			 * 
			 * 功能说明:读取cookie
			 * 
			 * @author ZHONGFUHUA
			 * 
			 * @Date 2016年10月20日
			 * 
			 */
			$scope.getCookie = function(name) {
				var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
				if (arr = document.cookie.match(reg)){
					return unescape(arr[2]);
				}else{
					return null;
				}
			}
			
			/**
			 * 
			 * 功能说明:删除cookie
			 * 
			 * @author ZHONGFUHUA
			 * 
			 * @Date 2016年10月20日
			 * 
			 */
			$scope.delCookie = function(name) {
				var exp = new Date();
				exp.setTime(exp.getTime() - 1);
				var cval = $scope.getCookie(name);
				if (cval != null){
					document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
				}
			}
			
			/**
		     * 
		     * 功能说明:监听结果
		     * 
		     * @author ZHONGFUHUA
		     *
		     * @Date 2016年10月20日
		     *
		     */
			$scope.$watch('isSuccess', function(nv, ov) {
				if (!nv) {
					$scope.isSuccess = true;
					var messageDialog = new MessageDialog().error($scope.error);
					setTimeout(function() {
						if(messageDialog != undefined){
							messageDialog.close();
						}
					}, 2000);
				}
			});
			
			/**
		     * 
		     * 功能说明:刷新angular的作用域数据
		     * 
		     * @author ZHONGFUHUA
		     *
		     * @Date 2016年10月20日
		     *
		     */
			$scope.angularApply = function(){
				if(!$scope.$$phase) { 
					$scope.$apply();
				}
			}

}]);
